package com.qijian.maindata.domain.query;

import com.baomidou.mybatisplus.annotation.TableName;
import com.qijian.common.utils.mybatis.WhereType;
import com.qijian.common.utils.mybatis.WhereTypeEnum;
import lombok.Data;
import lombok.ToString;

import java.math.BigDecimal;
import java.util.List;
import java.util.Set;


/**
 * 外协入库对象 查询条件类
 *
 * @author qijian
 * @date 2024-04-01
 */

@Data
@ToString
@TableName("main_out_detail_in")
public class OutDetailInQuery {

    @WhereType(filed = "id")
    private Long id;
    @WhereType(filed = "id", type = WhereTypeEnum.IN)
    private Set<Long> ids;
    @WhereType(filed = "out_id")
    private Long outId;
    @WhereType(filed = "detail_id")
    private Long detailId;
    @WhereType(filed = "out_status")
    private Long outStatus;
    @WhereType(filed = "code", type = WhereTypeEnum.LIKE)
    private String code;
    @WhereType(filed = "work_id")
    private Long workId;
    @WhereType(filed = "quantity")
    private BigDecimal quantity;
    @WhereType(filed = "rate")
    private BigDecimal rate;
    @WhereType(filed = "approval_by")
    private String approvalBy;
    @WhereType(filed = "approval_status")
    private String approvalStatus;

    @WhereType(filed = "code", type = WhereTypeEnum.LIKE)
    private String outBoundCode;
    @WhereType(filed = "supplier_name", tableName = "main_out", type = WhereTypeEnum.LIKE)
    private String supplierName;
    @WhereType(filed = "supplier_name", tableName = "main_out", type = WhereTypeEnum.LIKE)
    private String outSupplierName;

    @WhereType(filed = "project_no", tableName = "main_project", type = WhereTypeEnum.LIKE)
    private String projectNo;
    @WhereType(filed = "machine_no", tableName = "main_project")
    private String machineNo;
    @WhereType(filed = "process_name", tableName = "main_process_order", type = WhereTypeEnum.LIKE)
    private String processName;
    @WhereType(filed = "drawing_no", tableName = "main_item", type = WhereTypeEnum.LIKE)
    private String drawingNo;
    @WhereType(filed = "part_no", tableName = "main_item", type = WhereTypeEnum.LIKE)
    private String partNo;

    @WhereType(filed = "out_code", tableName = "main_out", type = WhereTypeEnum.LIKE)
    private String outCode;

    @WhereType(filed = "out_code", tableName = "main_out", type = WhereTypeEnum.LIKE)
    private String supplierOutCode;

    @WhereType(filed = "code", type = WhereTypeEnum.IN)
    private List<String> codes;

    @WhereType(filed = "supplier_id", tableName = "main_out")
    private Long supplierId;
}
